﻿using Newtonsoft.Json;
using System;
using System.Collections.Generic;
using System.Text.Json.Serialization;

namespace ThresholdAssistant.DataContract.Models
{
    /// <summary>
    /// 授权的商家机器人
    /// </summary>
    [Serializable]
    public class MerchantRobotInfoModel
    {
        /// <summary>
        /// 主键Id
        /// </summary>
        [JsonProperty("id"), JsonPropertyName("id")]
        public int Id { get; set; }

        /// <summary>
        /// 是否主商家
        /// </summary>
        [JsonProperty("is_main"), JsonPropertyName("is_main")]
        public bool IsMain { get; set; }

        /// <summary>
        /// 是否启用
        /// 启用：true
        /// 禁用：false
        /// </summary>
        [JsonProperty("enabled"), JsonPropertyName("enabled")]
        public bool Enabled { get; set; }

        /// <summary>
        /// 是否扫码商家
        /// true: 扫码号 false:分配号
        /// </summary>
        [JsonProperty("is_scan_code"), JsonPropertyName("is_scan_code")]
        public bool IsScanCode { get; set; }

        /// <summary>
        /// 商家编号
        /// </summary>
        [JsonProperty("merchant_no"), JsonPropertyName("merchant_no")]
        public string MerchantNo { get; set; }

        /// <summary>
        /// 关联编号
        /// </summary>
        [JsonProperty("relation_no"), JsonPropertyName("relation_no")]
        public string RelationNo { get; set; }

        /// <summary>
        /// 是否是超级商家
        /// </summary>
        [JsonProperty("is_super_merchant"), JsonPropertyName("is_super_merchant")]
        public bool IsSuperMerchant { get; set; }

        /// <summary>
        /// 标签编号集合
        /// </summary>
        [JsonProperty("label_nos"), JsonPropertyName("label_nos")]
        public IEnumerable<string> LabelNos { get; set; }

        /// <summary>
        /// 开关配置
        /// </summary>
        [JsonProperty("switch_conf"), JsonPropertyName("switch_conf")]
        public MerchantRobotSwitchInfoModel SwitchConf { get; set; }

        /// <summary>
        /// 验证语归属集合
        /// </summary>
        [JsonProperty("confirm_attribution_contents"), JsonPropertyName("confirm_attribution_contents")]
        public IEnumerable<MerchantRobotConfirmAttributionInfoModel> ConfirmAttributionContents { get; set; }
    }
}